package com.tbvtc.agriculturalcreditchainserver2025.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 农作物生长监测记录表
 * </p>
 *
 * @author syh
 * @since 2025-07-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("crop_records")
public class CropRecords implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 档案名称
     */
    @TableField("archives_name")
    private String archivesName;

    /**
     * 农作物名称
     */
    @TableField("crop_name")
    private String cropName;
    //不属于数据库字段
    @TableField(exist = false)
    private String LandName;

    /**
     * 阶段类型（如：育苗期/生长期/成熟期）
     */
    @TableField("report_type")
    private String reportType;

    /**
     * 成长照片（存储路径或URL列表）
     */
    @TableField("growth_photos")
    private String growthPhotos;

    /**
     * 空气温度（℃）
     */
    @TableField("temperature")
    private String temperature;

    /**
     * 施肥记录（肥料类型+用量）
     */
    @TableField("fertilization_records")
    private String fertilizationRecords;

    /**
     * 农药记录（农药名称+浓度）
     */
    @TableField("pesticide_records")
    private String pesticideRecords;

    /**
     * 检查报告（文本内容或文件路径）
     */
    @TableField("inspection_report")
    private String inspectionReport;

    /**
     * 空气湿度（%）
     */
    @TableField("humidity")
    private String humidity;

    /**
     * 日照时长（小时）
     */
    @TableField("light_hours")
    private Integer lightHours;

    /**
     * 土壤湿度（%）
     */
    @TableField("soil_humidity")
    private String soilHumidity;

    /**
     * 记录创建时间
     */
    @TableField(value = "created_at",fill = FieldFill.INSERT)
    //插入的时候
    private LocalDateTime createTime;
    /**
     * 最后更新时间
     */
    @TableField(value = "updated_at",fill = FieldFill.INSERT_UPDATE)

    private LocalDateTime updateTime;


}
